Developing Heuristics for the Graph Coloring Problem Applied to Register Allocation in Embedded Systems
نویسندگان
چکیده
The main aim of this paper consists in developing an effective e-learning tool, focused on evolutionary algorithms, in order to solve the graph coloring problem. Subsidiary, we apply graph coloring for register allocation in embedded systems. From didactic viewpoint, our tool has benefits in the learning process because it helps students to observe the relationship between the graph coloring problem and CPU registers allocation with the help of four developed modules: the two evolutionary algorithms (Genetic Algorithm and Particle Swarm Optimization), the graphical viewer, the interference graph for a C program and a web application which collects the simulation results. All these applications are combined by a graphical interface which allows the user to configure the parameters of the genetic algorithm and to analyze their effect over the convergence.
منابع مشابه
ar X iv : 0 71 0 . 36 42 v 1 [ cs . D S ] 1 9 O ct 2 00 7 On the Complexity of Spill Everywhere under SSA Form Research
Compilation for embedded processors can be either aggressive (time consuming cross-compilation) or just in time (embedded and usually dynamic). The heuristics used in dynamic compilation are highly constrained by limited resources, time and memory in particular. Recent results on the SSA form open promising directions for the design of new register allocation heuristics for embedded systems and...
متن کاملRegister Allocation with Instruction Scheduling : a New Approach 1
We present a new framework in which considerations of both register allocation and instruction scheduling can be applied uniformly and simultaneously. In this framework an optimal coloring of a graph, called the parallelizable interference graph, provides an optimal register allocation and preserves the property that no false dependences are introduced, thus all the options for parallelism are ...
متن کاملRegister Allocation via Hierarchical Graph Coloring
Register allocation is a vital stage in compiler optimization. It greatly impacts the effectiveness of other compiler optimization techniques. Graph coloring is the commonly used mechanism for register allocation. Since graph coloring is an NP-complete problem, heuristics are needed to find a practical solution. Several heuristics are available that perform well in practice. Commonly used heuri...
متن کاملالگوریتم ژنتیک با جهش آشوبی هوشمند و ترکیب چندنقطهای مکاشفهای برای حل مسئله رنگآمیزی گراف
Graph coloring is a way of coloring the vertices of a graph such that no two adjacent vertices have the same color. Graph coloring problem (GCP) is about finding the smallest number of colors needed to color a given graph. The smallest number of colors needed to color a graph G, is called its chromatic number. GCP is a well-known NP-hard problems and, therefore, heuristic algorithms are usually...
متن کاملGraph Coloring vs. Optimal Register Allocation for Optimizing Compilers
Optimizing compilers play an important role for the efficient execution of programs written in high level programming languages. Current microprocessors impose the problem that the gap between processor cycle time and memory latency increases. In order to fully exploit the potential of processors, nearly optimal register allocation is of paramount importance. In the predominance of the x86 arch...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- JMPT
دوره 8 شماره
صفحات -
تاریخ انتشار 2017